package com.cq.hd.order.factory.orderSettle;

import com.cq.hd.order.api.vo.OrderSettleBillVo;

import javax.annotation.PostConstruct;

public abstract class AbstractOrderSettleBillHandler {

    @PostConstruct
    public void init() {
        OrderSettleBillFactory.register(getType(), this);
    }

    protected abstract Integer getType();

    /**
     * 交易待支付/支付失败的结算单
     */
    public abstract Boolean transactAmt(OrderSettleBillVo orderSettleBillVo);

    /**
     * 根据 order_settle_bill 进行汇付转账
     */
    public abstract Boolean transfer(OrderSettleBillVo orderSettleBillVo);
}
